#ifndef NRPSTG_GAMESTATE_H
#define NRPSTG_GAMESTATE_H

#include <SDL.h>

class GameData;

enum GS_MODAL {
    GS_MODAL_NONE,
    GS_MODAL_UPDATE,
    GS_MODAL_EVENT
};

class Gamestate {
protected:
    bool _overlay;
    GS_MODAL _modal;

    GameData* _data;

public:
    Gamestate(GameData* data);
    virtual ~Gamestate();

    virtual void input(SDL_Event* evt, unsigned int ms);
    virtual void update(unsigned int ms);
    virtual void draw();

    virtual void begin();
    virtual void pause();
    virtual void resume();
    virtual void die();
};

#endif